{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch.nn as nn\n",
    "\n",
    "class my_network(nn.Module):\n",
    "\n",
    "    def __init__(self):\n",
    "        super(my_network, self).__init__()\n",
    "        # 在此定义神经网络中遇到的各个层\n",
    "        \n",
    "    def forward(self, input):\n",
    "        # input为网络的输入数据，output为网络的输出数据\n",
    "        # 在此定义输入到输出过程中的一系列处理步骤\n",
    "        # 包括经过的层的顺序，激活函数，数据连接方式等\n",
    "        return output\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "torch.Size([100, 1])\n",
      "torch.Size([100, 1])\n",
      "Net(\n",
      "  (hidden1): Linear(in_features=1, out_features=20, bias=True)\n",
      "  (hidden2): Linear(in_features=20, out_features=20, bias=True)\n",
      "  (predict): Linear(in_features=20, out_features=1, bias=True)\n",
      ")\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Anaconda3\\envs\\Pytorch\\lib\\site-packages\\torch\\nn\\functional.py:1944: UserWarning: nn.functional.sigmoid is deprecated. Use torch.sigmoid instead.\n",
      "  warnings.warn(\"nn.functional.sigmoid is deprecated. Use torch.sigmoid instead.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Anaconda3\\envs\\Pytorch\\lib\\site-packages\\torch\\nn\\functional.py:1944: UserWarning: nn.functional.sigmoid is deprecated. Use torch.sigmoid instead.\n",
      "  warnings.warn(\"nn.functional.sigmoid is deprecated. Use torch.sigmoid instead.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbAAAAD4CAYAAACNMrOfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAykklEQVR4nO3deXxU1f3/8deHECBuRAUFIggoICoqmrrhBi6IC6sL2NYFrEvrUtv6/dLdrtL6+1Zrbd0ootYKqGwqigtaFxQJggIqigtCABExWiVgSM7vjzMDk8lM5k5mT97Px8MHyZ07957cxPncc87nfo455xARESk0rXLdABERkaZQABMRkYKkACYiIgVJAUxERAqSApiIiBSk1rluQDwdOnRw3bt3z3UzREQKyqJFizY65zrmuh3ZkLcBrHv37lRUVOS6GSIiBcXMVuW6DdmiIUQRESlICmAiIlKQFMBERKQgKYCJiEhBUgATEZGClLdZiCIiLc3MxZXcNHcFa6uq6VJawvWD+zC8f1mum5W30tIDM7NJZrbBzJbFed3M7FYzW2lmb5rZ4ek4r4hIczFzcSU/nb6UyqpqHFBZVc1Ppy9l5uLKXDctb6VrCHEycHojrw8BeoX+uwy4PU3nFRFpFm6au4Lqmtp626prarlp7ooctSj/pWUI0Tn3gpl1b2SXYcB9zi8+9qqZlZpZZ+fcunScX0SkkMQaKlxbVR1z33jbJXtJHGXA6ojv14S21WNml5lZhZlVfPrpp1lqmohI9sQbKizdqTjm/l1KS7LbwAKSV1mIzrm7nHPlzrnyjh1bRCkvEWlh4g0VOgclxUX1tpcUF3H94D7ZbF5ByVYAqwS6Rny/T2ibiEiLEm9I8IvqGm4c2Y+y0hIMKCst4caR/ZSF2IhspdHPBq4ysynAUcAXmv8SkZaoS2kJlTGCWJfSEob3L1PASkK60ugfBF4B+pjZGjMbZ2ZXmNkVoV3mAB8AK4G7ge+n47wiIoXm+sF9NFSYJunKQhyT4HUH/CAd5xIRKWThHpYeWE6dKnGIiGSZhgrTI6+yEEVERIJSABMRkYKkIUQRkTRSQd7sUQATEUmTcJWN8IPK4SobgIJYBmgIUUQkTVSQN7sUwERE0kQFebNLAUxEJE3iFd5VQd7MUAATEUmTplTZmLm4kgET5tFj/OMMmDBPC1gmwXyRjPxTXl7uKioqct0MEZGkRGYhti8pxgyqNtfU+zqcnQjUS/oAH/BSKeJrZoucc+Vp+WHynAKYiEgGRGckRispLqJdcSs+31zT4LWy0hJeHj+oSedtSQFMafQiIhkQKyMxUnVNbdzXlfQRjObAREQyIJUgpKSPYBTAREQyIEgQKi0p1tIqKVAAExHJgFgZiZFKiou4YehBWoU5BZoDExHJgOh1v2JlIYb3UcBqGgUwEZEM0bpfmaUhRBERKUgKYCIiUpAUwEREpCApgImISEFSABMRkYKkLEQRaTEiC+1Gp7JL4VEAE5EWIbq4bmVVNT+dvhTQc1iFSkOIItIixCquW11Ty01zV+SoRZIqBTARaRHiFddV5ffCpQAmIi1CvOK6qvxeuBTARKRFiFVcV5XfC5uSOESkRYgurqssxMKnACYiLYaK6zYvGkIUEclHzuW6BXlPAUxEJF/U1MBjj8GYMTBsWK5bk/c0hCgiEkDGqng4B/PnwwMPwLRp8NlnfrsZVFZCmYY841EAExFJICNVPN55B/71L/j3v+HDDxu+7hxMmQI//nFTm93sKYCJSIsX2btqX1KMGVRtrtne02qsikdSAWz9eh+U/vUvWLQo8f4PPKAA1ggFMBFp0aJ7V1XVNdtfC/e0ooNXWKAqHl9/DTNnwv33w9NPQ11d8MatWgWffgodOwZ/TwuiACYiLVqs3lWk6ppaisyojZEVGLeKR20tPPecD1qPPOKDWFAlJTB0KHz72zB4MLRpE/y9LYwCmIi0aEF6UbXOUVJcVC/QxazisWwZ3HefH/pbuzZ4I1q1glNO8UFrxAjYddfg723BFMBEpEXrUlpCZYIgVhYxF9YgC/GTT1j659tpM+UB+qxdmdzJDz8cvvtdGD0aOnVK4adomRTARKRFu35wn0bnucI9rXpVPLZs4bW/TublMZM56t2F9HNJzGvtuy985zu+t9W3bxp+gpYrLQHMzE4H/goUAROdcxOiXr8YuAmoDG26zTk3MR3nFhFJRXSNxFhZiMP7l/m09ldfhcmTqfn3FI786svgJ2nfHs47z/e2BgzwQ4aSspQDmJkVAX8HTgXWAAvNbLZz7q2oXac6565K9XwiIunWaI3E1avhj3+EyZPhvfcAKA5wzJpWRRSfdaYPWmedBe3apa294qWjB3YksNI59wGAmU0BhgHRAUxEpDBs3gwzZvig9eyzSdUlXNK5N9MPGkjF0YOZ87sRmWujpCWAlQGrI75fAxwVY79RZnYC8C5wnXNudfQOZnYZcBlAt27d0tA0EZGAwiWdJk+GqVPhv/8N/Na1u3ZgxkEDmX7wIN7fsyslxUXcOLJf5toqQPaSOB4FHnTObTWzy4F7gUHROznn7gLuAigvL1cpZhHJvNWr/fNaEUOEQXxd3I4n+xzLIwcN4pV9DwFrhWNHxqKWbcm8dASwSqBrxPf7sCNZAwDn3GcR304E/pyG84qINM2WLb46xj33+OoYySxdMnAgXHQR8/Y/hr+8uEaLY+ZQOgLYQqCXmfXAB67RwAWRO5hZZ+fcutC3Q4G303BeEZGYYlaOP6wLvP66D1oPPABVVcEPuN9+cNFFPiGje3cAzgbOHtA7E82XgFIOYM65bWZ2FTAXn0Y/yTm33Mx+C1Q452YD15jZUGAbsAm4ONXziojEEl3bcPPa9bw1fhoDP3yB9u8lce+8665w7rlwySU+9d0sQy2WpjKXp6t+lpeXu4qKilw3Q0QKzIAJ81i36SuO/2gJ5735FKe+t4A2dduCH2DQIB+0RoyAnXfOXEMzxMwWOefKc92ObFAlDhFpPj74gNGz72LUsmfp8t+Ngd9WuXtnvjz/AvqOv9pXypCCoAAmIoVtyxaYPh3++U+YN4+rA76tunVb5vQ5locOOZUFXQ+mXZtibtzUmuGKXwVDAUxECtMbb8DEiX5xyGQSMo45hgmdjuFf+x7NV2132r65SQtUSk4pgIlI4fjyS3jwQR+4kpgj37JnR9qNvdjPbfXty53jHyfW7H/00ioxsxkV4PKGApiI5Dfn4JVX4O67Ydo0X+YpiKIiOPNMGDeOdkOGQPGOCobxllCJXKAyOpsxvDozoCCWJ1QSWUTy02efwc03w8EH+zT2yZODBa9evWDCBF9hY9Ysv7pxcf3yu9cP7kNJcVG9bdELVMZaqTk8zCj5QT0wEckfdXXw3HO+tzVjBnzzTaC3bSluS7sx58O4cXD88Qmf2YpeQiXW8GC8lZqDrOAs2aEAJiK5t36972FNnAjvvx/4bW906sXUQ0/jsb4n8ObN5yV1ykaXUCHYMKPklgKYiORGXZ2vQ3j33X6ob1uwh42/aLszMw4ayLRDTuOtvXsCvoBuusVaqTl6mFFySwFMRLJr7Vpfj3DiRPjoo+DvO+EEFp0yknFfd6cq4qMrU0ElyDCj5JYCmIhkXm0tPPUU3HUXPPqo/z6Ijh3hoot45tiz+fWKbaytqqZ9STG7G1Rtrsl4UEk0zCi5pQAmIpmzbh1MmuSHCVetCv6+U0+F730Phg1j5vJP6w3lVVXXUFJcxM3nH6bg0sIpgIlIetXVwbPPwh13wOzZgee26NwZxo71mYQ9emzf3Fg6uwJYy6YAJiLpsWGDn9u6++7gmYRmMGQIXH45nHEGtG74kdRYOrsqZbRsCmAi0nTOwX/+43tb06dDTU2w93XpApde6ntb3bo1vmucdPb2JcWqlNHCqRKHiCRvwwa45Rbo2xcGDoSpUxMHLzPfy5o508+H/eY3CYMXxK+aYYYqZbRw6oGJSDAbNvhe1rRpvtdVVxfsfZ07s+LM8/jpHkex2Hajy9slXN/tk8C9pHjp7NdNXRJzf1XKaDkUwEQkvnXrfEmnhx6CF14IHrTM4LTT4PLLmVXWn/GPvpPSUF+sdPab5q4IVClD82TNlzkXa1GB3CsvL3cVSSyXIFIo8v4D9f33fdCaMcNXgU/mM6JjRz+v9b3vQU9fJWPAhHkxA01ZaQkvjx/U5GZGV4sHMMCFjh1+uDlWNY0bR/bLr2ueRma2yDlXnut2ZIN6YCJZlJdLdDgHixf7gDVzJixblvwxBg70mYQjRkCbNvVeylRR3Mihxcqq6u3BC3Zc13bFrZSC34wpgEmzk889nLx5pmnbNnjxxR1Ba/Xq5I/Rsyece65fJLJP/FJOmSyKGx5ajNXLq66pbXCtwzRP1jwogEmzkpc9nAg5XaJj82ZfzmnmTF/OadOm5I/Rsyeccw6cdx4cfnjCZUsgO0Vxk71+qijfPCiASbOSNz2cOLK+RMfnn8Njj/me1ty5wVczjtSnjx8aPPdc6N8/UNCKlI2iuPGua2lJMVu31amifDOlACbNSqZ6OOkalszKEh1r1/rlSWbM8ItDBi3lFOlb34Lhw33g6ts38NviXadMF8WNd11vGHoQoIryzZUCmDQrmejhpHNYMmO9kZUrfcCaPh1efTX597duDSed5IPWsGGwzz5JHyKXw7eJrqsCVvOkNHppVmKlVqeaNp2pNPCUOAdLl/qANX26/zpZO+3k6xAOHw5nngm7797o7vF6V+Htsa4R5Pg6tUBKoxfJsnQN0WWih5PTxItIdXWwYMGOnlbQgrmR9twTzj7bDw2eeiqUBOuZxutdVazaxCOLKuNm+4Ey/iRzFMAk59I99JTu+ZZsJV7EDOL99vYVMB55xAeudeuSP3DXrj5gDR8Oxx+/veJ7MjcN8ZJjHlywmtoEozgO34vV3JOkmwKY5Fy+Zw7GShAwfKBN1wdzZBBvs62G3osWUjvlT2xdtZC2VZ8nf8ADDoCRI33gOuKIBpmDyd40xOtFJQpeYfn2OIM0DwpgknPZGqJr6jBlkIoPkfs1xd8eXcKJy15myIr5DHr/NXb9pgk/e3k5jBjBM32O5dfv1fmf85kvub5obcw6gsncNMTrhRaZBQ5i1TW1DD88lBySp3PveaO6GiZMgClTfOX+3XbzSTa/+U1SWaEAmBUB1wCXAL2AauBV4Pc4Nz/G/mOBocDBwF5AEfAx8BLw/3BuRdT+ewIjgDOBfkAZ8A2wFLgHuAfnYhfR9G27BLgw9N52wDpgIfBLnHu3sR9NAUxyrrEhunTNjaU6TJmo4kP4gz+p9n7xhX9G65FHeOzROZRs25rcD9WqlR8SHDHC/9etW+CfM9mbhnhp6qOOKGswB1ZSXNTonJgksHWrn598+WV/U3Lttb5SykMPweOPw7x5cNRRwY5lZsAU4BxgBXAbsAdwPvACZqNwblbUu74DdAYWAOuBOuAgwoHGbDjOPRGx/7nA7fjA8xw+2O0NjAQmAkMwO5fojEGzXYBZwCBgCXAvsAUfAI8HegMKYJLf4n04DjygY9rmxtI1TJlodeDo9l43dQk/nLpke3HZ4d3a+We0HnkEnn56+xpaQWfTaopa89nRx9PpojE+3X2vvZr0czb1piHW9vJ992iwvbGsREngL3/xweucc/w6a61Cyzaef76fxxw71medtgq0nONofPCaD5yMc1sAMLsD36O6G7N5OPffiPecsX2/SGanAk8B/wdEBrB38T22x+v1tMx+BrwGjMIHs0eijngnPnhdgXN3xjhfcaIfTgFMci7eh2M658bSNUzZ2Ad/rPY6oONXn3PS4jnsfed86lYvpVVtcr2TzcVteb7HEcztfQzz9j+Sbbvsxo3l/RgeFbwa+3mitzf1piHWdY+3Pdbxk7J1K9x8MzzwgM+4bN0aDj0Urr7al7KKNns2/PWv8NZbvkzWnntCr17+g//739+x3wcf+OG5efOgstJnYpaVwYAB8Ic/+PflinN+dWuAP/+5fpAaNsz3uF980a/HNnBgkCNeGfr3F/WCknMLMZsKfBcf4O6JeK1h8PLbn8asCtg/avu8OPuvDwXKPwAnERnAzA4HLgCmxgxe/v0Jl/dWAJO8EOtDMJkFCxMN3aUrk7CxShqR7e305UZOf3c+Q96dz7dWL6cVyc35fNV2Zz4fdBq373Eo0/c+mC3F7Xa82IS5quifM9M3DfGOz+8DHuCbb9g44CQ6LHqVlXvsw2vlZ3N0pxJ6/ucJH5CWLIE//nHH/nfd5avhd+rkHxPo0MEvwPnmm3DPPTsC2Lp1vsrIl1/61aFHjYItW+DDD+H+++Gqq3IbwN5/Hz7+GHr3hh49Gr4+ZIgPYPPmJQ5gZu2AY4HNwIsx9ngCH8AGERnA4h/vOKAUeD3hvjuEg1B0OZgLQv8+iFl74GygK/AZMA/nVgY5uAKY1JNPldyDfhgHmfcJWsIp0c8f/cHcvqQYMx9su36xgdNWvMQZK17m8LVNWNZ+zz39ENHIkexy8sns0rYtD45/PGboS3auKlapqlRvGhJJ9nGGyGt/XcUjXLPoVZ7reQSXjvoVta2KKCku4v8uv44zxg2DG2+Es86CY4/1b77zTr+MyxtvNBhWZePGHV8//LDvnd1yi59bivT110GH5WDyZPjoo8A/G927w8UXJ95vRejvpnfv2K/36uX/fbfRqaGw/fAJGB/gXKx6Yu+F/o19MrNz8IkcJaF9zgA2AVcFOTlmrfHJGQBPRr36rdC/+wLvA5F3DQ6z24FrcK7R4QoFMKlXSSETGXZNFfTDOEivIcgDzkETIMIfzDMXV3L7xLkMXP4iQ1a8zKHr3yNpnTv7dPdRo+o9oxWWTBCPDKrtiltRtbkm6ZuQrBcbDom+9me//iR1GL8fdCm1rfzQY3VNLX9Y+Bln/PKXcOmlMHHijgAG/toVx5g26dCh4bZYD3DvvHPwBk+e7IfxgjrxxGAB7Isv/L/t28d+Pby9qirIWcMH+SLe2UL/lsZ5/Rx8skfYe8AFOBe0RNIEfACcg3Nzo14L32X8BZgJ/AJYAxwF3AF8H/gUuKGxEyiAtXDRHxzRd/u5fB4raFWNoPM+iXoEgYfP3nkHHn6Yg/4xmbnrkq+GsWa3vXiiz7HM7X0sD9/340bv+oME8ejfYVV1DSXFRdx8/mGBf2/xbmJinS8TIq/9zls30+PzdazbZU/e37Nrvf3WVlXD+aGyVIsX73jh29+GH/8YDjwQRo/2AWPAAL9CdKShQ+FnP4Mf/MBX5x882O934IHJVdl//vkm/JQFxrnRwGjMdsMHol8DL2N2Oc5NbvS9ZtcAPwbewQ9TRgv/0b8DnB/R03o21PN7HfgRZn/EuW/inUYBrIWL9aEdLZelgIIMQ6Wr19BoIFy+3A8/PfSQ/xr/QE1QH+7emSf6DOCJ3gNY2ml/MKOstCThkFVjQbyxGoTJ3HjEuokJB7GyLA0jR177Xbf6JV827LJHg/26lJb4XivU74X86Ee+p/WPf8Ctt/ohQjMfyG66yaejA+y7L7z2GtxwAzz5pC/JBb5ayU9+Atdck/4fLhnhHtYXcTpN4e2lpUGOFj5InO7c9u1VjR7FuS+B+ZidDVQAt2P2DM6tibm/2VXAX4G38JmPsRaeC5/z0QbDhM69gdmH+CHQvsAb8ZqmANbCBQlO2V78L9l5uHQtUVIvEDpHn42rOOOdlxi6cj786ePkf5ADD4RRo5h30PH8YOk2qrftyDBOpn2xgnisosXRgt54xMueLItI7Lhu6pKMzolGXvv/tt0JgI5f169Asv2ahctpRQ+zXXih/6+qCubP96W3Jk3yvax33tnRG+vb16enb9vm58yeeQb+9jc/J7bzzjBuXOIGZ2oOLLyydbw5rvdCw9Tx5sjqex+oBXpi1jrGPFj4HizQhBrOfYPZs/gHjo8GHm6wj9kPgZuBZfjgtSHO0VYARxI/eIZ/+Y1++KQlgJnZ6fiIWwRMdM5NiHq9LXAfcAQ+y+R859xH6Ti3pCZe7yUs24v/NeWB46YU8I0VJK8/rTf33j6LQctf5IwVL7Hfpsqk2//23j1h5Ej6XnWJD2D4FK8be6c3OSZIzznojUe8QBe+9tlYHiXyJuTrtjvxUWlnulWt59DqDbxZslf9azZpkn/T4YfHPlhpqc8wPOMMXwB50iRfT3LUqPr7tW7ty2wdcYSfSzvhBL9addAAlok5sP32g27dfAD78MOGmYhPhB6/GhSgur9zWzCbj38o+Hj8Q8aRhoT+jZ0GH1v4F98wKcTsf/HzXkuAU3FuY4N9dngGP7R4cIzjtGVHcP2oscakHMDMlwL5O3AqfhJuoZnNds69FbHbOOBz59z+ZjYa+BP1JwclR+LV+XP41WzDGXY3zF6OGU1KDEhGU9O4k8l4qxcknaN0xTIqZ93BGSteYsbnyRfLfbusD7P2P4bF5QMZ8+2Tk3pWqqkS9a6SufForExUtmpURt+EzD1yCJc/NYlZq0IPfReFniHbuBF+9zv/9dixOw7w3HO+1FL0PNaGUAdgJ9+rY9Ei2H//hr23Tz6pv18imZoDM4MrrvDzdP/zP/UfZJ41y6fQH3igD4iRPv7Yr7bdrVv0EW/HB6/fYxb5IPO38J/Bn1L/+aw9gfY490GMtp2FLxn1FfCfqNd+CfwWWAScFmfYMNIjwI3A+Zj9Dedei3jtl/jhzedwbn1jB0lHD+xIYKUL/cBmNgUYhh//DBvGjmySh4HbzMxcvi5G1oLEfV4HGiQGhGXyTjwbdRFvevIdeq5ewZkrXuKMd16me1UTKrwfdZSvlDBqFH179CDJ6nQpa6znnOy8Vbwh2Hg9vLT8LmL0RoaH/uMf/4DWp8LJ7/oP7UMP9b2pzZv9HOSGDf7D/bjjdrx5xAjYZRc4+mg/XOec/7BfuND3sE45xe93//0+5f6443xvZ/fd/bNXjz4KbdvCD3+Y+s+Wqh/9yJcYe/hh/3d28sk+QD30kA+wkyY1nDu98ELfI3wuupPFFHwVjHOAxZg9ik9ZPx8/Yva90BxXWFdgEWYV+GG+SnyW4mH4YcMa4FKc2zG+a3YRPnjV4p83uyZGQsxH9RI/nPsas4uBx4AXMZseOtdRwHHABuDyRJcqHQGsDFgd8X04FTLmPs65bWb2Bf4i1utimtllwGUA3RreSUiGxOodDJgwr9Ehqlh34tGp3E3psWUsjds5eP11eOgh/n3nvexb1eiNXUwVZX2Zf9hJXPOP8bHudLMqXtBpysKdjT3UnLGU+nvvjf/aLbf4D+qnn/Zllf79bz9HFa7EccstMGZM/fdMmOCzCl9/HebMgXbtfMLGn/4EV165I71+zBhf4WP+fN8bq672VThGj/ZZjAc3HNHKurZt/c8+YQI8+KCvRrLbbv4Zwd/8ZvvQdCDOOczG4EtJjQWuxtcbfIHYxXxX4XtGJ+JH1fbEB62P8aWf/opzb0e9JzzOWQT8ME5L/gNMjmrb05gdie9xnYLvda3Hp9H/DufWJvrxUl6R2XzK4+nOuUtD338XOMo5d1XEPstC+6wJff9+aJ+4Y6RakTm3esR5gDaSAR9OOBNInFQQ9MM1rSsqO+crNkyd6u9eP2g4KtKYOoyF+xzIE30G8GTvY1m/W4d6P3M6JFrluLE5s3Tt01jb0r26tWSeVmROTiW+2xm2T2hbrH3WmH86uz0+mUPyVKLkjvA+YYmSCoLOnaRlReV33/X186ZMCVqxYLs6jNe6HsSTBxzHnF7HsGHX+mWF0pmRGXSV40QPVCd7/OjjxJOJ1a3D7cqXai9S2NLRA2uNT8M8GR+oFgIXOOeWR+zzA6Cfc+6KUBLHSOdcjGqcO6gHlltBe1RA3KGmaOnuvdSzcaMPWPff75/zSUKtteK1rgfxeJ/jmNv7WL7avUPcZULS2fuItTQLxF9jq6y0hJfHB8g+S3D8ZI+TTurVZZ56YEkIzWldBczFj4FOcs4tN7PfAhXOudnAP4H7zWwlvpbW6FTPK5kVr+Zf5JwWNKw43pjopTqaMk8W+f7uOxfxp7arOPKlx3168bZY5d7iaNXKZ3Kdey5P9TqG31ds2t4juLGRZUKykUkYb4HIZJMnsrVQaDLyffVtKSxpeQ7MOTcHmBO17VcRX2/BL3omWZTqUE2iIapEiR6RYi3VkWxm48zFlfzskTc4+MOlXLVsHmeueJndtn4d9Meh1lqxoOvBzDngOH5/369g770B/zDMkFMa7p/u1Pdoya5ynOzwZSbrGjb1bysfg6oULlXiaKZSnf8IorEPndIYvauU5snefZeqH/+Oua8/TdcvPgncxjqMhV0P4tG+J/Bk72PYuPPuvoRTKHjlUrKrHCf7QHm6KpRES+VvK15QdfgbIs2HSTIUwJqpTA7VhO++482exptjibdUR6R6QfGzz3wG4X33wYIFXJxMIw87jGUDz+aq2l58VLKjpl62K4s0JtlVjtORHj/wgI4pl4ZK5W8rVlANy/XqB1J4Uk7iyBQlcaSmsTT4VAq0ppIuHy+pIFL3XYp4/qBqH7QefxxqEi7KukOXLr4q+YUXbn+eRxlvO6QrgSLe31bQJJ3GihBDbpNMmgMlcUjeaOoHcGNp8Knc6TY2DJgoMMa9+3aOQ9a/x+jl8zhn5UvwRVXg9nxd3I7PBp9Ft2sv9yvUhksOhWR6HivbUgnI6eqVpzq3Fv6dxAuEmg+ToBTA8lgqcw2NDdVA04cT4324GCS8a44e0urmqhm25CnOfH0ufTYGr/Zea614qfthPP+twRx+7SWcfWwyC5sUrlTnNdOVQJGR6v9R20WCUADLY6ncMUcGi3g9sabc6TblQye61/D77tsY+MwM/7Dxli3BT37ooXDhhRSNGcOJnTtzYuJ3NCup9qDSFTDS9YBzppJMpOVQAMtjqd4xh4dq4s09NeVON9kPnXCvoWbLVs58dz4XLXqMb1W+FXPfmDp1gu98B777XTjkkKTb25yk+veQzoCRjqHZTFX6kJZDASyPpeuOOd0fXBD8Q+efD7/CpS/M5NtLnqDTV4lWWAg3rgRGjvRB6+STfRFXScvcE+RXwGhuc5SSXcpCzGPpLLuT1Ww852DBAvjb3/hmyjTa1AWskDFgAFxyCZx7rq++LfWoDJMEoSxEyQvpvGPOyp3u1q3+ua2//Q1CNx9tEr2nfXu/MOEVVwRdJr3FyscelEguqQcmqVuzBu64A+66Cz79NNBbvti/D+1/cp2f39p55ww3UKTlUA9MJBHn4KWXfG9r+nSoTVwTcZu14sWDBtD62ms4ftyohsu/J0kPKYu0bApgBSQvPrCrq3eskPvGG8He06EDXHYZra+4goFduybeP4Bs1HoUkfymAFYgcv6B/fHH8I9/wN13w6aA2YTl5XD11XDeeX6J9zTSshwiogBWIHLyge0c/Oc/vrc1cybU1SV+T3GxzyK8+mo46qiUhwnj0bIcIqIAViCy+oG9eTP8619w222wdGmw93Tq5DMJL7sMOndOf5uiqAyRiLTKdQMkmHgfzGn9wP7oI7j+ethnH7j88mDB65hj/JzYqlXw619nJXiBfzi7pLh+4V6VIRJpWdQDKxAZqxvnHDz/PNx6K8yeHWyYsE0bGD3aDxOW5yZbV89EiYgCWIFI+wf25s2+mO6tt8KyZcHe06ULXHmlHybca6+mnTeNVIZIpGVTAMuhZNPi0/KBvWYN/P3v/qHjoNmEAwbANdfAiBE+SUNEJA8ogOVIY2nxkIGhsQUL4JZb4KGHAj10TNu2cMEFfpiwf//Uzi0ikgEKYDkSLy3+htnL2bqtLj3Pe9XU+CoZt9wCr74a7D377APf/z5873v+AWQRkTylAJYj8dLfq6prGmxL+nmvTZv8A8e33eaHDIM4/njf2xoxQsuXiEhB0CdVjsR7jimeQM97vf22T8q4915f8imRNm1gzBg/v3X44YHbIiKSDxTAciReWny74lZ8vrlhLyz6ea/tCSCfb2b4p8sZv+JJ9p7/fLCT7723Hya8/HL/tYhIAVIAy5HotPj2JcWYweebazAgcpGb6Oe9Zi6u5DdTFzJkyTNcUjGbXp+tDnbS/v3hhz+E88/3SRoiIgVMASyHwmnx0RmJDrYHsbLoLMQ1a/jvdf/DvAWPsfuW/yY8hzPDhg+Ha6+FE04As/yoai8ikiIFsDwQKyMxHLxeHj/Ib3jtte1p8N/dti3hMf/bpoRph5zGlKOG8YNxp20PUDmvai8ikiYKYFkWq/cTL0Hjk01f+ee2br4ZXnkl0PFXlXZi8hFn81C/U/mq7U4A9TIYtQyJiDQXCmBZFK/3U7pTcb3Ejd22fMXoN+YydvHjcNOGQMd+pVs/JpUP49n9vkVdq/pFbiMDpJYhEZHmQgEsi+L1ftq2bkVJcRGd16/i4kWPcs6yZ9ipZmvC431TVMysvidyT/lQ3tq7Z9z9IjMYtQyJiDQXCmBZFLOX4xwHv72Q/1f5HJ1eejbYgfbaC668kjZXXskt9yxv9Hmy6AzGjFW1FxHJMgWwNImc2wqnxFdtrqmX5RfZ+2lbs5Xhbz3P2IpZ9Nn4cbCTHHooXHedX8oklAZ//eBtDQJS3AxGtAyJiDQf5pxLvFcOlJeXu4qKilw3I5Doua1oJcVF3DiyHwB/ufd5zn3tUb695An2qP4y8cHNYOhQ//zWiSf672OcXwFJRADMbJFzLjcL9WWZAlgaDJgwL2FZqEFfr2bS5y9RN3UqrQKkwbPLLjB2rC/ztN9+aWqpiDR3LSmAaQgxScmkwRfV1XLqe68ytmIWR655C4BWiU7QvbsPWmPHQvv2aW27iEhzogCWhGTS4M978ykuXvQY+3wZLA2eE07ww4RDh0JRUcLdRURaOgWwJCRKg9/7k4+5eNGjnLv0GXau2ZL4gMXFvhr8tdeqGryISJIUwJIQLw3+oLcX8n9rn2evl56lVZA5xQ4d4IorfEX4zp3T31ARkRYgpQBmZnsAU4HuwEfAec65z2PsVwssDX37sXNuaCrnzZVYafCXVMzmgI2rgh2gXz8/THjBBdCuXeYaKiLSAqTaAxsPPOucm2Bm40Pf/2+M/aqdc4eleK6cu35wn6alwZ91lg9cAwfGTIMXEZHkpRrAhgEnhb6+F3ie2AGs8C1cyPBbbmHotGnB0uB33tlnEl59NfTqlfn2iYi0MKkGsL2dc+tCX68H4i3v287MKoBtwATn3MxYO5nZZcBlAN26dUuxaWmwbRvMmOGXMZk/HwiQBr/vvj5ojRsHpaUZbqCISMuVMICZ2TNApxgv/TzyG+ecM7N4GQz7OucqzawnMM/Mljrn3o/eyTl3F3AX+AeZE7Y+UzZtgokT4bbbYHXA1Y6PP35HGnxr5caIiGRawk9a59wp8V4zs0/MrLNzbp2ZdQZiPvTknKsM/fuBmT0P9AcaBLCce/ttuPVWuO8+2Lw58f5KgxcRyZlUuwqzgYuACaF/Z0XvYGa7A5udc1vNrAMwAPhziudNn7o6eOopP0w4d26w93TsCFde6VPhA6TBq1ahiEj6pRrAJgDTzGwcsAo4D8DMyoErnHOXAn2BO82sDj+FNME591aK503dV1/5ntatt8KKFcHec8ghfphwzJjAafDxqncACmIiIilIKYA55z4DTo6xvQK4NPT1fKBfKudJq48+gr//3c9xVVUl3t8Mzj7bL2MSpxp8Y+JV77hp7goFMBGRFLSMbAPn4MUX4a9/hZkz/bBhIrvuuiMNPoVq8PEK/cbbLiIiwTTvALZ1K0yZ4ue3liwJ9p799vNB65JLYLfdUm5CZPWO6O0iItJ0CR9rKkjr1sGvfgXdusHFFwcLXoMGwezZfj7s2mvTErzAV+8oKa5fXb6kuIjrB/dJy/FFRFqq5tUDW7jQDxNOmwY1NQl331pUzPSDBvLg0cMZe8XQjMxJhY+pLEQRkfRqPgHsttv80F8A63fZg/sOP4sHDx3M5zv5RSMzmVQxvH+ZApaISJo1nwA2bJhPca+tjb/P0UdzTcfjmdNnANuK6v/oSqoQESkszWcOrGtXGDmy4fbWrf3yJQsWwCuvsOjY0xsEL2haUsXMxZUMmDCPHuMfZ8CEecxcXNmUlouISBM0nwAGPvkirGNH+MUvYNUqeOABOPJIIH1JFeEHlCurqnHseEBZQUxEJDuazxAiwLHHwkUXwUknwejRMatlpCupQg8oi4jkVvMKYGYweXLC3dKRVKEHlEVEcqt5BbAUJVN0Vw8oi4jkVvOaA0tBsnNaekBZRCS3WkwPLFHvKtk5LT2gLCKSWy0igAVZ0qQpc1p6QFlEJHdaxBBiY72rsHhzV5rTEhHJTy0igAXpXWlOS0SksLSIABakdzW8fxk3juxHWWkJBpSVlnDjyH4aIhQRyVPNeg4snLhRWVWNAS7itXDvKpnUeRERyR/NNoBFJ2442B7EykKBCkiY3CEiIvmp2Q4hxkrcCAevl8cPYnj/skDJHSIikp+abQALkrihclAiIoWr2Q4hBin11Ng+mhsTEclvzbYHFiQtPt4+Aw/oqKVSRETyXLMNYEHS4uPt89w7n8acG/vh1CVauFJEJE+Ycy7xXjlQXl7uKioqcnLuHuMfp7GrUlJcpGfERCQvmdki51x5rtuRDc22B5aKROWjlKkoIpJ7CmAxxJobi6ZMRRGR3Gq2WYipiFwqJVaWIqjIr4hIrqkHFsfw/mW8PH4Qt5x/mIr8iojkIfXAEtDClSIi+UkBLAAtXCkikn80hCgiIgVJAUxERAqSApiIiBQkBTARESlICmAiIlKQFMBERKQgKYCJiEhBUgATEZGClFIAM7NzzWy5mdWZWdzy/WZ2upmtMLOVZjY+lXOKiIhA6j2wZcBI4IV4O5hZEfB3YAhwIDDGzA5M8bwiItLCpVRKyjn3NoCZNbbbkcBK59wHoX2nAMOAt1I5t4iItGzZmAMrA1ZHfL8mtE1ERKTJEvbAzOwZoFOMl37unJuVzsaY2WXAZQDdunVr0jFmLq5U5XgRkRYgYQBzzp2S4jkqga4R3+8T2hbrXHcBdwGUl5e7ZE80c3ElP52+lOqaWn/iqmp+On0pgIKYiEgzk40hxIVALzPrYWZtgNHA7Eyc6Ka5K7YHr7DqmlpumrsiE6cTEZEcSjWNfoSZrQGOAR43s7mh7V3MbA6Ac24bcBUwF3gbmOacW55as2NbW1Wd1HYRESlcqWYhzgBmxNi+Fjgj4vs5wJxUzhVEl9ISKmMEqy6lJZk+tYiIZFmzqsRx/eA+lBQX1dtWUlzE9YP75KhFIiKSKSn1wPJNOFFDWYgiIs1fswpg4IOYApaISPPXrIYQRUSk5VAAExGRgqQAJiIiBUkBTERECpICmIiIFCRzLumSg1lhZp8Cq1I4RAdgY5qak05qV3LUruSoXclpju3a1znXMZ2NyVd5G8BSZWYVzrm4q0TnitqVHLUrOWpXctSuwqYhRBERKUgKYCIiUpCacwC7K9cNiEPtSo7alRy1KzlqVwFrtnNgIiLSvDXnHpiIiDRjCmAiIlKQCjqAmdm5ZrbczOrMLG7KqZmdbmYrzGylmY2P2N7DzBaEtk81szZpatceZva0mb0X+nf3GPsMNLMlEf9tMbPhodcmm9mHEa8dlq12hfarjTj37Ijtubxeh5nZK6Hf95tmdn7Ea2m7XvH+ViJebxv62VeGrkX3iNd+Gtq+wswGN7UNTWzXj8zsrdC1edbM9o14LebvM4ttu9jMPo1ow6URr10U+r2/Z2YXZbFNN0e0510zq4p4LWPXy8wmmdkGM1sW53Uzs1tD7X7TzA6PeC0j16qgOecK9j+gL9AHeB4oj7NPEfA+0BNoA7wBHBh6bRowOvT1HcCVaWrXn4Hxoa/HA39KsP8ewCZgp9D3k4FzMnC9ArUL+CrO9pxdL6A30Cv0dRdgHVCazuvV2N9KxD7fB+4IfT0amBr6+sDQ/m2BHqHjFKXp+gRp18CIv58rw+1q7PeZxbZdDNwW4717AB+E/t099PXu2WhT1P5XA5OydL1OAA4HlsV5/QzgCcCAo4EFmbxWhf5fQffAnHNvO+dWJNjtSGClc+4D59w3wBRgmJkZMAh4OLTfvcDwNDVtWOh4QY97DvCEc25zms4fT7Lt2i7X18s5965z7r3Q12uBDUC6qw3E/FtppK0PAyeHrs0wYIpzbqtz7kNgZeh4WWmXc+65iL+fV4F90nTulNvWiMHA0865Tc65z4GngdNz0KYxwINpOG9CzrkX8Der8QwD7nPeq0CpmXUmc9eqoBV0AAuoDFgd8f2a0LY9gSrn3Lao7emwt3NuXejr9cDeCfYfTcP/gf4QGkK42czaZrld7cyswsxeDQ9rkkfXy8yOxN9Zvx+xOR3XK97fSsx9QtfiC/y1CfLepkr22OPwd/FhsX6f6RK0baNCv5+Hzaxrku/NVJsIDbX2AOZFbM7k9UokXtsz+fdVsPJ+RWYzewboFOOlnzvnZmW7PWGNtSvyG+ecM7O4zyqE7q76AXMjNv8U/0HeBv88yP8Cv81iu/Z1zlWaWU9gnpktxX9QN1mar9f9wEXOubrQ5iZfr+bGzL4DlAMnRmxu8Pt0zr0f+wgZ8SjwoHNuq5ldju/BDsri+RszGnjYOVcbsS3X10sCyvsA5pw7JcVDVAJdI77fJ7TtM3z3vHXoTjq8PeV2mdknZtbZObcu9IG7oZFDnQfMcM7VRBw73BvZamb3AD/JZrucc5Whfz8ws+eB/sAj5Ph6mdluwOP4m5dXI47d5OsVJd7fSqx91phZa6A9/m8pyHubKtCxzewU/A3Bic65reHtcX6f6fpATtg259xnEd9OxM95ht97UtR7n89GmyKMBn4QuSHD1yuReG3P1LUqaC1hCHEh0Mt8Bl0b/B/sbOecA57Dzz8BXASkq0c3O3S8IMdtMP4e+hAPzzsNB2JmLGWiXWa2e3gIzsw6AAOAt3J9vUK/uxn4+YGHo15L1/WK+bfSSFvPAeaFrs1sYLT5LMUeQC/gtSa2I+l2mVl/4E5gqHNuQ8T2mL/PNLUraNs6R3w7FHg79PVc4LRQG3cHTqP+SETG2hRq1wH4hIhXIrZl+nolMhu4MJSNeDTwRegGLVPXqrDlOosklf+AEfix4K3AJ8Dc0PYuwJyI/c4A3sXfRf08YntP/IfMSuAhoG2a2rUn8CzwHvAMsEdoezkwMWK/7vg7q1ZR758HLMV/EP8L2CVb7QKODZ37jdC/4/LhegHfAWqAJRH/HZbu6xXrbwU/HDk09HW70M++MnQteka89+eh960AhqT5bz1Ru54J/T8QvjazE/0+s9i2G4HloTY8BxwQ8d6xoWu5ErgkW20KfX8DMCHqfRm9Xvib1XWhv+U1+PnKK4ArQq8b8PdQu5cSkV2dqWtVyP+plJSIiBSkljCEKCIizZACmIiIFCQFMBERKUgKYCIiUpAUwEREpCApgImISEFSABMRkYL0/wHJPc8HknTQoAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Anaconda3\\envs\\Pytorch\\lib\\site-packages\\torch\\nn\\functional.py:1944: UserWarning: nn.functional.sigmoid is deprecated. Use torch.sigmoid instead.\n",
      "  warnings.warn(\"nn.functional.sigmoid is deprecated. Use torch.sigmoid instead.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Anaconda3\\envs\\Pytorch\\lib\\site-packages\\torch\\nn\\functional.py:1944: UserWarning: nn.functional.sigmoid is deprecated. Use torch.sigmoid instead.\n",
      "  warnings.warn(\"nn.functional.sigmoid is deprecated. Use torch.sigmoid instead.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Anaconda3\\envs\\Pytorch\\lib\\site-packages\\torch\\nn\\functional.py:1944: UserWarning: nn.functional.sigmoid is deprecated. Use torch.sigmoid instead.\n",
      "  warnings.warn(\"nn.functional.sigmoid is deprecated. Use torch.sigmoid instead.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Anaconda3\\envs\\Pytorch\\lib\\site-packages\\torch\\nn\\functional.py:1944: UserWarning: nn.functional.sigmoid is deprecated. Use torch.sigmoid instead.\n",
      "  warnings.warn(\"nn.functional.sigmoid is deprecated. Use torch.sigmoid instead.\")\n"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.nn.functional as F\n",
    "import matplotlib.pyplot as plt\n",
    "from torch.autograd import Variable\n",
    "\n",
    "x = torch.unsqueeze(torch.linspace(-1,1,100),dim=1)\n",
    "y = x.pow(3)+0.1*torch.randn(x.size())\n",
    "\n",
    "x , y =(Variable(x),Variable(y))\n",
    "\n",
    "print(x.shape)\n",
    "print(y.shape)\n",
    "\n",
    "class Net(nn.Module):\n",
    "    def __init__(self,n_input,n_hidden,n_output):\n",
    "        super(Net,self).__init__()\n",
    "        self.hidden1 = nn.Linear(n_input,n_hidden) #1  20\n",
    "        self.hidden2 = nn.Linear(n_hidden,n_hidden)#20 20\n",
    "        self.predict = nn.Linear(n_hidden,n_output)#20 1\n",
    "        \n",
    "    def forward(self,input):\n",
    "        out = self.hidden1(input)\n",
    "        out = F.relu(out)\n",
    "        out = self.hidden2(out)\n",
    "        out = F.sigmoid(out)\n",
    "        out =self.predict(out)\n",
    "\n",
    "        return out\n",
    "\n",
    "net = Net(1,20,1)\n",
    "print(net)\n",
    "\n",
    "optimizer = torch.optim.SGD(net.parameters(),lr = 0.1)  #优化器可以更换 Adam SGD AdamW\n",
    "loss_func = torch.nn.MSELoss()  #Loss可以更换 MSE MAE....很多\n",
    "\n",
    "plt.ion()\n",
    "plt.show()\n",
    "\n",
    "for t in range(5000):\n",
    "    prediction = net(x)\n",
    "    loss = loss_func(prediction,y)\n",
    "\n",
    "    optimizer.zero_grad()\n",
    "    loss.backward()\n",
    "    optimizer.step()\n",
    "\n",
    "    if t%1000 ==0:\n",
    "        plt.cla()\n",
    "        plt.scatter(x.data.numpy(), y.data.numpy())\n",
    "        plt.plot(x.data.numpy(), prediction.data.numpy(), 'r-', lw=5)\n",
    "        plt.text(0.5, 0, 'Loss = %.4f' % loss.data, fontdict={'size': 20, 'color': 'red'})\n",
    "        plt.pause(0.05)\n",
    "\n",
    "plt.ioff()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Sequential(\n",
      "  (0): Linear(in_features=1, out_features=20, bias=True)\n",
      "  (1): ReLU()\n",
      "  (2): Linear(in_features=20, out_features=20, bias=True)\n",
      "  (3): ReLU()\n",
      "  (4): Linear(in_features=20, out_features=1, bias=True)\n",
      ")\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.nn.functional as F\n",
    "import matplotlib.pyplot as plt\n",
    "from torch.autograd import Variable\n",
    "\n",
    "x = torch.unsqueeze(torch.linspace(-1,1,100),dim=1)\n",
    "y = x.pow(3)+0.1*torch.randn(x.size())\n",
    "\n",
    "x , y =(Variable(x),Variable(y))\n",
    "\n",
    "# class Net(nn.Module):\n",
    "#     def __init__(self,n_input,n_hidden,n_output):\n",
    "#         super(Net,self).__init__()\n",
    "#         self.hidden1 = nn.Linear(n_input,n_hidden)\n",
    "#         self.hidden2 = nn.Linear(n_hidden,n_hidden)\n",
    "#         self.predict = nn.Linear(n_hidden,n_output)\n",
    "#     def forward(self,input):\n",
    "#         out = self.hidden1(input)\n",
    "#         out = F.relu(out)\n",
    "#         out = self.hidden2(out)\n",
    "#         out = F.relu(out)\n",
    "#         out =self.predict(out)\n",
    "\n",
    "#         return out\n",
    "'''\n",
    "\n",
    "'''\n",
    "net = torch.nn.Sequential(\n",
    "    nn.Linear(1,20),\n",
    "    torch.nn.ReLU(),\n",
    "    nn.Linear(20,20),\n",
    "    torch.nn.ReLU(),\n",
    "    nn.Linear(20,1)\n",
    ")\n",
    "\n",
    "# net = Net(1,20,1)\n",
    "print(net)\n",
    "\n",
    "\n",
    "optimizer = torch.optim.SGD(net.parameters(),lr = 0.05)\n",
    "loss_func = torch.nn.MSELoss()\n",
    "\n",
    "plt.ion()\n",
    "plt.show()\n",
    "\n",
    "for t in range(2000):\n",
    "    prediction = net(x)\n",
    "    loss = loss_func(prediction,y)\n",
    "\n",
    "    optimizer.zero_grad()\n",
    "    loss.backward()\n",
    "    optimizer.step()\n",
    "\n",
    "    if t%1000 ==0:\n",
    "        plt.cla()\n",
    "        plt.scatter(x.data.numpy(), y.data.numpy())\n",
    "        plt.plot(x.data.numpy(), prediction.data.numpy(), 'r-', lw=5)\n",
    "        plt.text(0.5, 0, 'Loss = %.4f' % loss.data, fontdict={'size': 20, 'color': 'red'})\n",
    "        plt.pause(0.05)\n",
    "\n",
    "\n",
    "torch.save(net,'net.pkl') #保存网络\n",
    "torch.save(net.state_dict(),'net_parameter.pkl') #保存参数\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 720x216 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "net1 = torch.load('net.pkl') \n",
    "net2 = torch.nn.Sequential(\n",
    "    nn.Linear(1,20),\n",
    "    torch.nn.ReLU(),\n",
    "    nn.Linear(20,20),\n",
    "    torch.nn.ReLU(),\n",
    "    nn.Linear(20,1)\n",
    ")\n",
    "net2.load_state_dict(torch.load('net_parameter.pkl'))\n",
    "\n",
    "prediction1 = net1(x)\n",
    "prediction2 = net2(x)\n",
    "\n",
    "plt.figure(1,figsize=(10,3))\n",
    "plt.subplot(121)\n",
    "plt.title('net1')\n",
    "plt.scatter(x.data.numpy(), y.data.numpy())\n",
    "plt.plot(x.data.numpy(), prediction1.data.numpy(), 'r-', lw=5)\n",
    "# plt.show()\n",
    "\n",
    "plt.figure(1,figsize=(10,3))\n",
    "plt.subplot(122)\n",
    "plt.title('net2')\n",
    "plt.scatter(x.data.numpy(), y.data.numpy())\n",
    "plt.plot(x.data.numpy(), prediction2.data.numpy(), 'r-', lw=5)\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "0a9e8949fc24b5f62ea486aa0e3668f251ab86c129ace0f639a1ad6db239a700"
  },
  "kernelspec": {
   "display_name": "Python 3.7.12 ('Pytorch')",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.12"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
